//
// Created by tianq on 24-12-10.
//
#include <iostream>
#include <random>
using namespace std;

int main() {
    int m, n, p;
    int cube[10][10][10] = {}; // cube[z][y][x]

    m = 3, n = 4, p = 5; // x,y,z of cuboid
    random_device rd;
    mt19937_64 rng(rd());
    uniform_int_distribution dist(1, 20); // set range for random generator here
    // p layers(z), n lines(y), m rows(x)
    for (int z = 0; z < p; z++) {
        for (int y = 0; y < n; y++) {
            for (int x = 0; x < m; x++) //
                cube[z][y][x] = dist(rng);
        }
    }

    // print input
    cout << "rows(x): " << m << "lines(y):" << n << "layers(z): " << p << endl;
    for (int z = 0; z < p; z++) {
        cout << endl << "layer" << z << ":" << endl;
        for (int y = 0; y < n; y++) {
            for (int x = 0; x < m; x++) {
                cout << cube[z][y][x] << "\t";
            }
            cout << endl;
        }
    }
}
